import tkinter
import tkinter.messagebox
from turtle import *
import math


def love(k, c, s, c1, c2, c3, c4):

    # 密集数 k
    # 爱心个数  c
    Turtle()
    speed(s)
    color('blue')
    right(90)
    penup()
    fd(100)
    pendown()
    left(135)
    for i in range(c):
        if i < 10:
            color(c1)
        elif 10 < i < 30:
            color(c2)
        elif 30 < i < 40:
            color(c3)
        else:
            color(c4)

        forward(200 - i * k)
        circle(100 - i * k, 180)
        fd(k * i)
        right(90)
        fd(k * i)
        circle(100 - k * i, 180)
        fd(200 - (i) * k)
        left(135)
        penup()
        fd(k * math.sqrt(2))
        pendown()
        right(45)
    done()


def main():
    flag = True

    # 弹窗    像天上星星那么多
    def confirm_to_quit():
        if tkinter.messagebox.askokcancel('嗯哼',' 臭宝，想得美'):
            love(1, 120, 10000, 'red', 'pink', 'yellow', 'pink')

    # 弹窗    多
    def confirm_in_love():
        if tkinter.messagebox.askokcancel('嗯哼','晚上想听你说宝贝晚安'):
            love(5, 40, 1000,'red','red','pink','pink')

    # 弹窗    很多
    def confirm_in_love2():
        if tkinter.messagebox.askokcancel('嗯哼','要语音哦'):
            love(1, 200, 10000,'red','blue','yellow','pink')

    # 创建顶层窗口
    top = tkinter.Tk()
    # 获取窗口宽度
    cur_width = 240
    # 获取窗口高度
    cur_height = 160
    # 获取屏幕宽度和高度
    scn_w, scn_h = top.maxsize()
    # 计算中心坐标
    cen_x = (scn_w - cur_width) / 2
    cen_y = (scn_h - cur_height) / 2
    # 设置窗口大小
    # top.geometry('240x160+800+400')
    # 设置窗口居中
    size_xy = '%dx%d+%d+%d' % (cur_width, cur_height, cen_x, cen_y)
    top.geometry(size_xy)
    # 设置窗口标题
    top.title('LoveDemo')
    # 创建标签对象并添加到顶层窗口
    label = tkinter.Label(top, text='想要多少桃心呀', font='Arial -32', fg='red')
    label.pack(expand=1)
    # 创建一个装按钮的容器
    panel = tkinter.Frame(top)

    # 创建按钮对象 指定添加到那个容器中 通过command参数绑定事件回调函数
    button1 = tkinter.Button(panel, text='多', command=confirm_in_love)
    button1.pack(side='left')
    button2 = tkinter.Button(panel, text='很多', command=confirm_in_love2)
    button2.pack(side='right')
    button2 = tkinter.Button(panel, text='像天上星星那么多', command=confirm_to_quit)
    button2.pack(side='right')
    panel.pack(side='bottom')
    # 开启主事件循环
    tkinter.mainloop()


if __name__ == '__main__':
    main()